Food product tracing system, program and method thereof

ABSTRACT

The system includes a storage including records created for every product at every stage and a processor operated by first and second processes. Each record includes a first stage information at which the food product is processed, a first time information for specifying the time period of processing at the first stage, a second stage information at which the livestock product processed at the first stage is received as material and a second time information for specifying the time period of processing at the second stage. The first process specifies a target record whose first stage and time information are coincident with that of an original product. The second process specifies a new target record whose first stage and time information are coincident with the second stage and time information of the previous target record. The second process is repeated until a new target record cannot be specified.

BACKGROUND OF THE INVENTION

The present invention relates to a food product tracing system thattraces a food product such as a livestock product distributed from aproducer such as a stockbreeder to an end supplier (a retailer, aprocessing supplier, a processing supplier), a food product tracingprogram to make a computer function as such a food product tracingsystem and a food product tracing method realized by such a system.

A domestic animal (a cow, a pig, a sheep, a cock, etc) bred by astockbreeder is slaughtered and dismantled by a dismantling supplier anddistributed by a distributor (a food company) to an end supplier (retailby a retailer, processing to a secondary product by a processingsupplier). In this specification, a livestock product means not only asecondary product such as meat but also a domestic animal itself at aninitial stage of the distribution.

In the distribution of a livestock product, it is important to keepsafety of a product. However, a livestock product coming from a diseasedlivestock may be distributed on a distribution channel. Typical examplesare prion disease of a domestic animal, which are mad cow disease (BSE,bovine spongiform encephalopathy) in a cow and scrapie disease in asheep, and foot-and-mouth disease. While an infection route of priondisease is not completely elucidated, the strong opinion says that theprion disease infects by taking feed containing protein called abnormalprion. Further, since foot-and-mouth disease is a viral contagiousdisease, it infects through skin infection besides oral infection.

A livestock product infected with such a pathogen is not completely safeeven if any treatment is applied. In particular, a livestock productcoming from a domestic animal infected with prion disease should betaken out from a distribution channel to incinerate promptly becauseabnormal prion is hard to disintegrate by an usual heat treatment andmutual infection between Creutzfeldt-Jacob disease that infects withhuman and BSE is indicated.

In order to keep safety of a livestock product, a method to controldistribution of livestock products by applying an ID number to everydomestic animal is previously used. According to this method, the sameID number is applied to the livestock products coming from an individualof a certain domestic animal. Therefore, when a result of an infectiontest immediately after slaughter is officially announced, a supplier ofeach stage in a distribution channel of livestock products is able toknow whether the products under his/her control are produced from theinfected domestic animal or not.

However, since an inspector cannot trace the livestock products comingfrom the infected domestic animal by himself/herself according to theconventional control method, the inspector has to inform the ID numberto suppliers in the distribution channel to urge them to report whetherthey have livestock products coming from the infected domestic animal ornot. As described above, since the effectiveness of the conventionalcontrol method is highly dependent on conscience of each supplier, itwas insufficient from the viewpoint of food safety security forconsumers.

SUMMARY OF THE INVENTION

It is therefore an object of the present invention is to provide animproved food product tracing system, program and method thereof, whichenable that an inspector easily traces all food products coming from acertain original product at a certain stage in a distribution channel inshort time.

In a food product tracing system of the present invention, food productscoming from an original product is distributed along a distributionchannel. The distribution channel is formed by connecting a plurality ofstages at which material is processed to form a product. The systemincludes a storage that includes records created for every food productat every stage and a processor that operates according to programs.

Each record stored in the storage includes a first stage information foridentify the first stage at which the food product is processed, a firsttime information for specifying the time period of processing at thefirst stage, a second stage information for identify the second stage atwhich the food product processed at the first stage is received asmaterial and a second time information for specifying the time period ofprocessing at the second stage.

On the other hand, the programs include a first process and a secondprocess. The first process specifies a target record whose first stageinformation and first time information are coincident with the stage andthe time at which the original product is processed. The second processspecifies a new target record whose first stage information and firsttime information are coincident with the second stage information andthe second time information of the previous target record. The secondprocess is repeated until a new target record cannot be specified.

With this construction, when the second process cannot specify a newtarget record, the food product coming from the original product existsat the stage that is defined by the latest target record.

In this specification, the original product includes a livestock productthat is formed by processing the domestic animal (a carcass of adomestic animal, a dismantled part, meat, frozen product, hides,unnecessary portions, meat-and-bone meal, a secondary product) inaddition to a domestic animal itself. Therefore, livestock products canbe traced in spite of a location of an original product.

Further, the information about the original product may be manuallyinput by an operator or automatically input by the system.

Furthermore, a food product may be infected during a process at acertain stage. For example, blood of an infected livestock productsplashed, a livestock product processed on the next bench may beinfected. When a food product is infected from another food productcoming from a different domestic animal, the newly infected product maybe traced by the second process.

DESCRIPTION OF THE ACCOMPANYING DRAWINGS

FIG. 1 is a block diagram showing a construction of a livestock productcontrol system according to an embodiment of the present invention;

FIG. 2 is a block diagram showing a construction of each terminal in thelivestock product control system show in FIG. 1;

FIG. 3 is a block diagram showing a construction of a computer center inthe livestock product control system shown in FIG. 1;

FIG. 4 is a table showing a data structure of a process control databasestored in the computer center show in FIG. 1;

FIG. 5 is a block diagram showing a hierarchy structure of stagesconstituting a distribution channel;

FIG. 6 and FIG. 7 are flowcharts showing a database registration programstored in the computer center shown in FIG. 1;

FIG. 8 is a flowchart showing a database search program stored in thecomputer center shown in FIG. 1;

FIG. 9 is a flowchart showing an original product search processexecuted at S101 of FIG. 8;

FIG. 10 is a flowchart showing a product tracing process executed atS102 of FIG. 8;

FIG. 11 is a flowchart showing a tracing subroutine executed at S124 ofFIG. 10 or S139 of FIG. 11; and

FIG. 12 shows an input screen.

DESCRIPTION OF THE EMBODIMENTS

An embodiment of the present invention will be described with referenceto drawings. The embodiment discloses a livestock product control systemthat includes a livestock product tracing system as a food producttracing system according to the present invention and a databaseregistration system as a precondition.

In the embodiment, a hierarchy distribution channel shown in FIG. 5 isassumed. A livestock product is distributed from a stage A as a startingpoint along stages B through G, sequentially. Further, in the followingdescription, a livestock product carried in each stage is called“material” and a livestock product taken out from each stage is called“product”. A “product” taken out from one stage becomes “material” forthe next stage. Further, focusing on one livestock product, the stage atwhich the livestock product is processed as “product” is called a“product stage” and the stage at which the livestock product isprocessed as “material” is called a “material stage”.

The respective stages are distinguished by processing contents and theirplaces, and the unique stage names A through G are assigned to therespective stages. For example, processes of different contents aredefined as separate stages even if the processes are executed in thesame supplier and processes at different places (a dismantling bench, aninventory location in a warehouse or the like) are defined as separatestages even if the contents of processes are identical. Therefore, anonly one livestock product is processed at a certain stage at a certaintime.

With this example, processing contents of the respective stages are asfollows. A processing content of the stage A is breeding of a domesticanimal by a stockbreeder. A processing content of the stage B isdismantling of a livestock by a dismantling supplier. A processingcontent of the stage C is frozen storage of meat to a meat warehouse bythe dismantling supplier. A processing content of the stage D is frozenstorage of unnecessary parts (a brain, a bone, internal organs or thelike) to an unnecessary part warehouse by the dismantling supplier. Aprocessing content of the stage E is safekeeping of the other parts(hides or the like) to a temporary safekeeping warehouse by thedismantling supplier. A processing content of the stage F is marketingof meat by a retailer. A processing content of the stage G isincineration of unnecessary parts by a processing supplier.

A livestock product is managed by a process control database havingrecords shown in FIG. 4. Each record includes a “record number” fieldshowing a registration order of the record, an “ID number” fieldspecifying the livestock product managed with the record, a “productstage name” field showing the name of the product stage of the livestockproduct, a “production start time” field showing a start time of aprocess of the livestock product at the product stage, a “productionstop time” field showing a stop time of the process of the livestock atthe product stage, a “material stage name” field showing the name of thematerial stage of the livestock product, a “service start time” fieldshowing a start time of use of the livestock product at the materialstage, a “service stop time” field showing a stop time of use of thelivestock at the material stage, and a “distribution finish information”showing whether the livestock product is taken out from distribution atthe material stage or not.

In FIG. 4, the “product stage name” corresponds to a first stageinformation, the “production start time” and the “production stop time”(they are referred to as a production time) correspond to a first timeinformation. Further, the “material stage name” corresponds to a secondstage information, the “service start time” and the “service stop time”(they are referred to as a service time) correspond to a second timeinformation.

An ID number recorded in each record is printed on a label as a barcode. The label is attached to a livestock product produced as a“product” at a certain stage and it is used for identification of thelivestock product until the product is processed as “material” at thenext stage.

Use of the database shown in FIG. 4 enables to specify the livestockproduct that existed in a certain time at a certain stage with the IDnumber given to each product and to trace the previous and/or nextstages with a stage name and time information as keys.

Next, the construction of the livestock product control system of theembodiment will be described. As shown in FIG. 1, the livestock productcontrol system consists of a computer center 1, terminals 3 that arearranged corresponding to the respective stages and the Internet N. Thecomputer center 1 and the terminals 3 are able to communicate to eachother through the Internet N.

In the computer center 1, an operating system (OS) 21 that is a basicsoftware of the computer center 1, a terminal server 22 that is amultiuser OS executed on the OS 21 to provide execution environment ofterminal service for each terminal (for example, the Windows NT Server4.0 Terminal Server Edition (trademark), the Windows 2000 Server(trademark) of Microsoft company in USA, or Meta Frame (trademark ofCITRIX company in USA) that is an add-on software executed with theseOS), a DB (Dara Base) registration program 23 and a DB search program 24that are application programs executed on the terminal servers 22, andthe process control database 25 (FIG. 4) are installed.

On the other hand, a service client 35 is installed in the terminal 3 toreceive terminal services by the computer center 1 through the InternetN.

FIG. 2 is a block diagram showing construction of each terminal 3. Theterminal 3 has a main unit 31 and a display/input device 32, a bar-codeleader 33 and a printer 34 that are connected to the main unit 31 asshown in FIG. 2. The main unit 31 consists of a CPU (Central ProcessingUnit) 311, a ROM (Read Only Memory) 312, a RAM (Random Access Memory)313, a communication control circuit 314, an input control circuit 315,a display control circuit 316 and an output control circuit 317. Thesecircuits are connected mutually through a bus B. The display/inputdevice 32 is provided with a touch panel 321 and an LCD (Liquid CrystalDisplay) 322.

The CPU 311 controls the terminal 3 and executes various process. TheCPU 311 has a clock M built therein to obtain the current time (year,month, day, minute and second).

The ROM 312 stores various programs executed by the CPU 311 and variousdata. The programs stored in the ROM 312 includes an OS that controlshardware of the terminal 3 and enables communicating function, variousdrivers and the terminal service client 35. Further, the data stored inthe ROM 312 includes the stage names (A through G) that arecorresponding to the respective terminals 3.

The RAM 313 is a main memory on which the working area is developed whenthe CPU 311 executes process of each program. FIG. 2 shows the conditionwhen the terminal service client 35 is developed on the RAM 313.

The display control circuit 316 is an interface to generate image datadisplayed on the LCD 322 based on instructions from the CPU 311.

The touch panel 321 is arranged on a screen of the LCD 322, inputting asignal representing a position touched by an operator to the inputcontrol circuit 315. The bar-code reader 33 inputs image signals to theinput control circuit 315. The input control circuit 315 is an interfacethat converts the input signal into binary signal and sends it to theCPU 311.

Further, the CPU 311 specifies a touched item (a button) displayed onthe LCD 322 by analyzing the input signal from the touch panel 321 witha touch panel driver (not shown), interpreting that the specified buttonis touched. The CPU 311 also converts the image signal from the bar-codereader 33 into a numeral string with a bar-code reader driver (notshown).

The output control circuit 317 is an interface (Centronics interface,USB interface) to transmit print data output from the CPU 311 to theprinter 34. The printer 34 is a general printer that can print a label.The communication control circuit 314 is an interface with the InternetN.

FIG. 3 is block diagram showing hardware constitution of the computercenter 1. As shown in FIG. 3, the computer center 1 has a main unit 11,a CRT (Cathod Ray Tube) 17 and a keyboard 18 that are connected to themain unit 11. The main unit 11 has a CPU 111 as a processor, a RAM 112,a HDD (Hard Disk Drive) 113 as a storage, a communication controlcircuit 114, a display control circuit 115 and an input control circuit116. These circuits are connected through a bus B. Furthermore, the CRT17 is connected to the display control circuit 115 and the keyboard 18is connected to the input control circuit 116.

The communication control circuit 114 is an interface with the InternetN. The HDD 113 is auxiliary memory storing various programs and data.The CPU 111 works according to each program stored in HDD 113. The RAM112 is a main memory on which the working area is developed when the CPU111 executes process of each program. The display control circuit 115 isan interface to generate image data displayed on the CRT 17 based oninstructions from the CPU 111. The input control circuit 116 is aninterface that converts the input signal from the keyboard 18 operatedby an operator into code signal and sends it to the CPU 111.

Next, the operation of the livestock product control system describedabove will be explained.

A livestock product is registered with the process control database 25at the stage A (breeding by a breeding supplier) and a bar-code label isattached. At the following stages B through G, a livestock productcarried into a stage as “material” is identified by reading the bar-codelabel attached at the previous stage and a bar-code label showing a newID number is attached to a livestock product processed at the currentstage before the product is taken out from the current stage as“product”.

When an operator touches the touch panel 321 of the terminal 3, theinput control circuit 315 transmits the input signal corresponding tothe touched position to the terminal service client 35. The terminalservice client 35 sends the input signal to the terminal server 22 onthe computer center 1. The terminal server 22 starts the DB registrationprogram 23 or the DB search program 24 based on the input signal,returning the results such as image data and print data to the terminalservice client 35. The terminal service client 35 makes the LCD 322display a screen based on the received image data and makes the printer34 print a bar code based on the received print data.

Next, the DB registration program 23 to register data with the processcontrol database 25 of FIG. 4 will be described with reference toflowcharts shown in FIG. 6 and FIG. 7. The DB registration program 23 isstarted for every terminal 3 that transmits a start command.

At S001, the DB registration program 23 makes the LCD 322 of theterminal 3 that transmits the start command display an input screen. Asshown in FIG. 12, an “Initial registration”button 40, an “Arrival”button 41, a “Production start” button 42, a “Production stop” button43, a “Material finish” button 44, a “Distribution stop” button 45 and a“Finish” button 46 are indicated in the input screen.

At S002, the DB registration program 23 waits for a touch of any one ofthe buttons 40 through 46 (a touch on the touch panel 321 in an areaoverlapped with any one button) on the input screen of the terminal 3.

When a breeding supplier begins to breed a domestic animal at the stageA, an operator touches the “Initial registration” button 40 to create anew record and touches the “Production stop” button 43 when the suppliercompletes the breeding and ships the domestic animal.

Further, at the stages B, C, D and F where the material is processed, anoperator at each stage touches the “Arrival” button 41 when the“material” is carried in the stage, touches the “Production start”button 42 when a process of the received “material” starts, touches the“Production stop” button 43 when the process at the stage is completed,and touches the “material finish” button 44 when the received “material”vanished by using or the received “material” becomes “product” just asit is.

Further, when a plurality of “products” are produced from one “material”at a certain stage, an operator touches the “Production start” button 42and the “Production stop” button 43 for each “product”.

Furthermore, at the stages E and G where the received “material” istaken out from the distribution, an operator at each stage touches the“Arrival” button 41 when the “material” is carried in the stage, touchesthe “Material finish” button 44 and the “Distribution stop” button 45when the received “material” vanished.

When an operator touched the “Initial registration” button 40, the DBregistration program 23 generates a new ID number (S010), specifying amaterial stage at which the livestock product produced at the currentstage is used as “material” (S011), adding a new record to the processcontrol database 25 (S012), and sending the generated ID number to theterminal 3 to print the bar code (S013).

The material stage is decided based on the hierarchy distributionchannel of FIG. 5. When there are plural choices, the choices aredisplayed on the LCD 322 to urge the operator to select one choice. Thename of the stage at which the terminal 3 is arranged is registered inthe “product stage name” field of the new record. Further, the name ofthe material stage specified at S011, the current time and the ID numbergenerated at S010 are stored in the “material stage name” field, the“production start time” field and the “ID number” field of the newrecord, respectively. A label printed in S013 is attached to the productproduced by the present stage.

When a process of S013 is completed, the DB registration program 23returns the process to S001.

When an operator touched the “Arrival” button 41, the DB registrationprogram 23 makes the LCD 322 of the terminal 3 display an instruction tourge the operator to read the bar code attached to the livestock productreceived as “material” (the bar code attached at the previous stage (theproduct stage)) with the bar-code reader 33 (S003), searching theprocess control database 25 with the demodulated signal (i.e., the IDnumber) of the bar-code signal transmitted from the terminal 3 tospecify the record that includes the ID number (S004), setting thecurrent time in the “service start time” field of the specified record(S005). When a process of S005 is completed, the DB registration program23 returns a process to S001.

When an operator touched the “Production start” button 42, the DBregistration program 23 makes the LCD 322 of the terminal 3 display aninstruction to urge the operator to read the bar code attached to thelivestock product received as “material” with the bar-code reader 33(S006), searching the process control database 25 with the demodulatedsignal (i.e., the ID number) of the bar-code signal transmitted from theterminal 3 to specify the record that includes the ID number (S007).

The DB registration program 23 checks whether the time information isset in the “service stop time” field of the record specified at S007 ornot (S008). If the time information is stored in the “service stop time”field, the DB registration program 23 makes the LCD 322 display errorinformation to inform that the specified livestock product (material)has been spent and does not exist (S009), returning the process to S001.If the time information is not stored in the “service stop time” field,the DB registration program 23 brings the process to S010. The processfrom S010 to S013 is identical to the case of the initial registration.That is, a new record is created and a new ID number is given to aproduct produced at the current stage. When a process of S013 iscompleted, the DB registration program 23 returns a process to S001.

When an operator touched the “Production stop” button 43, the DBregistration program 23 makes the LCD 322 of the terminal 3 display aninstruction to urge the operator to read the bar code attached to thelivestock product produced by the current stage as “product” (the barcode attached at the current stage) with the bar-code reader 33 (S014),searching the process control database 25 with the demodulated signal(i.e., the ID number) of the bar-code signal transmitted from theterminal 3 to specify the record that includes the ID number (S015),setting the current time in the “Production stop time” field of thespecified record (S016). When a process of S016 is completed, the DBregistration program 23 returns a process to S001.

When an operator touched the “material finish” button 44, the DBregistration program 23 makes the LCD 322 of the terminal 3 display aninstruction to urge the operator to read the bar code attached to thelivestock product received as “material” (the bar code attached at theprevious stage (the product stage)) with the bar-code reader 33 (S017),searching the process control database 25 with the demodulated signal(i.e., the ID number) of the bar-code signal transmitted from theterminal 3 to specify the record that includes the ID number (S018),setting the current time in the “service stop time” field of thespecified record (S019). When a process of S019 is completed, the DBregistration program 23 returns a process to S001.

When an operator touched the “Distribution stop” button 45, the DBregistration program 23 makes the LCD 322 of the terminal 3 display aninstruction to urge the operator to read the bar code attached to thelivestock product received as “material” (the bar code attached at theprevious stage (the product stage)) with the bar-code reader 33 (S020),searching the process control database 25 with the demodulated signal(i.e., the ID number) of the bar-code signal transmitted from theterminal 3 to specify the record that includes the ID number (S021),setting the data “finished” in the “distribution finish information”field of the specified record (S022). When a process of S022 iscompleted, the DB registration program 23 returns a process to S001.

When an operator touches the “Finish” button 46, the DB registrationprogram 23 finishes all the processes.

Next, the DB search program 24 that traces all livestock products comingfrom the abnormal domestic animal as an original product will bedescribed with reference to flowcharts shown in FIG. 8 through FIG. 11.The DB search program 24 is started for every terminal 3 that transmitsa start command. That is, a plurality of DB search programs 24 may beexecuted at the same time when a plurality of terminals 3 transmit thestart command.

The DB search program 24 consists of an original product search process(S101) to search the abnormal livestock product as an original productand a product tracing process (S102) to trace livestock products comingfrom the original product.

FIG. 9 is a flowchart showing an original product search process(subroutine). In this subroutine, the DB search program 24 substitutesthe name of the stage (the name store in the ROM 312) at which theterminal 3 that transmits the command informing the abnormality isarranged for a variable X and substitutes the time when the abnormallivestock product was used in the stage for a variable Y (S111).

Then, the DB search program 24 searches the process control database 25to extract the record(s) whose “material stage name” is coincident with“X” (S112), specifying the record whose service time (from the “servicestart time” to the “service stop time”) is coincident with “Y” (S113).

Next, the DB search program 24 executes a process loop from S114 to S116to trace the distribution channel back to the original product (adomestic animal bred in a stock field). In the process loop, the DBsearch program 24 searches the process control database 25 to extractrecords whose “material stage name” is coincident with the “productstage name” (S114). Then, the DB search program 24 checks whether anyrecord was hit at S114 or not (S115). If any record was extracted (S115,Yes), the DB search program 24 judges that the process has not yetachieved to the original product, bringing the process to S116.

At S116, the DB search program 24 specifies only one record whoseservice time (from the “service start time” to the “service stop time”)contains the production time (from the “production start time” to the“production stop time”) of the latest specified record among the recordsextracted at S114.

After completion of S116, the DB search program 24 returns a process toS114 and searches based on a newly specified record.

When no record was hit (S115, No) after repeat of the process loop, theDB search program 24 judges that the process was back to the top stage,bringing the process from S115 to S117.

At S117, the DB search program 24 decides that the latest specifiedrecord is the tracing start record. When the process at S117 iscompleted, the DB search program 24 finish this original product searchprocess (subroutine), returning the process to the main routine of FIG.8.

In the main routine of FIG. 8, the DB search program 24 executes aprocess at S102 after the process at S101. FIG. 10 is a flowchartshowing a product tracing process (subroutine) executed at S102. In thissubroutine, the DB search program 24 substitutes the stage name and theproduction time of the tracing start record for variables X and Y,respectively (S121). In other words, the program 24 specifies the stageand the time where the infected livestock product is processed.

The product tracing process may be executed as an independent processwhen the source of infection is known at the beginning or when thetracing starts from the stage other than the top stage, in addition tobe executed as the subroutine of the DB search program 24. When theproduct tracing process is executed as the subroutine, the “productstage name” and the production time of the tracing start recordspecified by the original product search process are substituted intothe variables X and Y. On the other hand, when the product tracingprocess is executed independently, an operator substitutes a stage nameand a production time into the variables X and Y.

The DB search program 24 searches the process control database 25 toextract records whose “product stage name” is X (S122), specifying arecord whose production time (from the “production start time” to the“production stop time”) contains Y as a target record from the extractedrecords (S123). This record is unique because the product stage is thetop stage A (breeding of a domestic animal). The process from S121 toS123 corresponds to the first process.

Next, the DB search program 24 starts a tracing subroutine, executingthe process (the second process) based on the target record specified atS123 (S124). FIG. 11 is a flowchart showing this tracing subroutine. Thetracing subroutines can be started simultaneously as nested loopsbecause this tracing subroutine is a recursive subroutine having aprocess for starting the tracing subroutine (S139).

In each tracing subroutine started, the DB search program 24 checkswhether the target record that is passed from the process that startsthe tracing subroutine (S124 of the product tracing process in FIG. 10or S139 of the tracing subroutine started as a parent process) has theservice time (from the “service start time” to the “service stop time”)or not (S131). When the target record does not have the service time,the DB search program 24 makes the LCD 322 of the terminal 3 display amessage to inform that the livestock product represented by the IDnumber of the target record exists at the stage represented by the“Product stage name” (S132). When a process of S132 is completed, the DBsearch program 24 finishes the tracing subroutine, passing thecompletion of the process to the parent process as an argument.

On the other hand, when it was judged that the target record has aservice time at S131, the DB search program 24 brings the process toS133. At S133, the DB search program 24 checks whether “finished” is setin the “distribution finish information” field of the target record ornot. If “finished” is set, the DB search program 24 makes the LCD 322 ofthe terminal 3 display a message to inform that the livestock productrepresented by the ID number of the target record is taken out from thedistribution channel at the stage represented by the “material stagename” (S134). When a process of S134 is completed, the DB search program24 finishes the tracing subroutine, passing the completion of theprocess to the parent process as an argument.

On the other hand, when “finished” is not set in the “distributionfinish information” field of the target record, the DB search program 24searches the process control database 25 to extract records whose“product stage name” is coincident with the “material stage name” of thetarget record (S135), further extracting records whose production time(from the “production start time” to the “production stop time”) iscontained in the service time (from the “service start time” to the“service stop time”) from the records extracted at S135 (S136). At S136,a plurality of records may be extracted. For example, when a pluralityof products are produced from the livestock product (material)represented by the “ID number” at the stage of the “material stage name”in the target record, a plurality of records are extracted at S136.Therefore, the DB search program 24 executes the process loop from S137to S139 for each product.

In this process loop, the DB search program 24 checks whether there is arecord that has not been a target record of the tracing subroutine amongthe records extracted at S136. If there is any record that has not beena target record, the DB search program 24 specifies one record amongthem (S138), starting the tracing subroutine as a child process (S139).Receiving the completion of the tracing process started as a childprocess as an argument, the DB search program 24 brings the process backto S137.

When the tracing subroutine is executed for all the records extracted atS136 by repeating the loop process from S137 to S139 (S137, Yes), the DBsearch program 24 finishes the tracing subroutine, returning thecompletion of the process to the parent process as an argument.

As described above, all the livestock products coming from the samedomestic animal that are distributed along a hierarchy distributionchannel can be traced and the locations thereof can be discovered byrepeating the tracing subroutine as nested loops until a new targetrecord cannot be specified.

When the completion of the tracing subroutine started at S124 isreturned as the argument, the DB search program 24 finishes the producttracing process of FIG. 10, finishing the main routine of FIG. 8.

Next, a specific process example based on the DB search program 24 willbe described.

It is assumed that livestock products coming from the same domesticanimal are distributed along distribution channel shown in FIG. 5, anoperator at each stage inputs necessary information according to the DBregistration program 23, and the records are stored in the processcontrol database 25 as shown in FIG. 4. Further, it is assumed thatabnormality (BSE positive reaction, for example) is detected from alivestock product processed (taken to a temporary safekeeping warehouse)at the time from T81 to T82 at the stage E.

In this case, all the livestock products coming from the originalproduct of the abnormal livestock product must be traced to collectthem. Therefore, an operator starts the DB search program 24 from theterminal 3 at the stage E, inputting the stage name=E and the servicetime=T81-T82 (S111). Then, the DB search program 24 searches the processcontrol database 25 to specify the record whose “material stage name” isE and whose service time (from the “service start time” to the “servicestop time”) contains T81-T82 (S112, S113). As a result, the record whoserecord number=4 is specified.

Next, the DB search program 24 searches the process control database 25to extract records whose “material stage name” is B that is identical tothe “product stage name” of the record whose record number=4 (S114). Inthis case, since the record whose record number=1 is extracted, thejudgment at S115 becomes YES. Further, the record whose record number=1is specified (S116) because the service time (from the “service starttime” to the “service stop time”) of the record whose record number=1contains the production time=T81-T82 of the record whose recordnumber=4. Since the DB search program 24 achieves the top record, norecord is extracted by the next search at S114 (S115, No), whichspecifies the record whose record number=1 as the tracing start record(S117). As a result of the search, the original product of the abnormallivestock product is the domestic animal whose “ID number”=SS1.

Next, the DB search program 24 substitutes the stage name A at which thedomestic animal whose “ID number”=SS1 is bred and the production timeT11-T12 for the variables X and Y, respectively (S121). Then, the DBsearch program 24 searches the process control database 25 to extractrecords whose “product stage name” is A (S122), specifying a recordwhose production time (from the “production start time” to the“production stop time”) contains T11-T12 from the extracted records(S123). As a result, the record whose record number=1 is specified as atarget record.

Next, the DB search program 24 starts a tracing subroutine (a firsttracing subroutine) (S124), searching the process control database 25 toextract records whose “product stage name” is B that is identical to the“material stage name” of the target record whose record number=1 (S135),further extracting records whose production time (from the “productionstart time” to the “production stop time”) is contained in the servicetime=T21-T22 of the record whose record number=1 (S136). As a result,the records whose record numbers are 2, 3 and 4 are extracted.

Then, second, third and fourth tracing subroutines are started for theextracted records, respectively, the livestock products coming from theinfected domestic animal are traced along the hierarchy distributionchannel.

In the second tracing subroutine, the record whose record number=4becomes the target record. However, since the vale “finished” is set inthe “distribution finish information” field of the target record (S133,YES), it is apparent that the livestock product (hides or the like)whose “ID number” is SS4 is taken out from the distribution at the stageE (safekeeping to the temporary safekeeping warehouse by the dismantlingsupplier) (S134).

In the third tracing subroutine, the record whose record number=2becomes the target record. The DB search program 24 searches the processcontrol database 25 to extract records whose “product stage name” is Cthat is identical to the “material stage name” of the target recordwhose record number=2 (S135), further extracting records whoseproduction time (from the “production start time” to the “productionstop time”) is contained in the service time=T41-T42 of the record whoserecord number=2 (S136). As a result, the record whose record number=5 isspecified as a new target record. Then, a fifth tracing subroutinestarts for the new target record whose record number=5 to trace thelivestock products coming from the infected domestic animal. In the samemanner, the tracing subroutine (the second process) starts for eachtarget record until a new target record cannot be specified, whichenables to discover the location of the livestock products coming fromthe infected domestic animal whose “ID number”=SS1 along thedistribution channel.

In the fourth tracing subroutine, the record whose record number=3becomes the target record. The DB search program 24 searches the processcontrol database 25 to extract records whose “product stage name” is Dthat is identical to the “material stage name” of the target recordwhose record number=3 (S135), further extracting records whoseproduction time (from the “production start time” to the “productionstop time”) is contained in the service time=T61-T62 of the record whoserecord number=3 (S136). As a result, the record whose record number=6 isspecified as a new target record. Then, a sixth tracing subroutinestarts for the new target record whose record number=6 to trace thelivestock products coming from the infected domestic animal.

In the sixth tracing subroutine, since the service time (from the“service start time” to the “service stop time”) of the record whoserecord number=6 is blank (S131, NO), it is apparent that the livestockproduct (unnecessary portions) whose “ID number” is SS6 exists at thestage D (frozen storage to an unnecessary part warehouse by thedismantling supplier) (S134).

As described above, an inspector is able to discover the locations ofthe livestock products coming from the infected domestic animal whose“ID number”=SS1. That is, the livestock product (hides or the like)whose “ID number”=SS4 exists at the stage E, the livestock product(unnecessary portions) whose “ID number”=SS6 exists at the stage D andthe other products exist at the stage following the stage F. Therefore,the system of the embodiment discovers the locations of the livestockproducts with high possibility of infection coming from the infecteddomestic animal.

According to the livestock product tracing system of the presentinvention, an inspector can easily trace all livestock products comingfrom an original product in any stage along a distribution channel byhimself/herself without reports from suppliers.

Further, information about feed, a breeding method and/or atransportation method may be added to the record of the process controldatabase for detail information.

The present disclosure relates to the subject matter contained inJapanese Patent Application No. P2002-186430, filed on Jun. 26, 2002,which is expressly incorporated herein by reference in its entirety.

1. A food product tracing system that traces food products coming froman original product and distributed along a distribution channel thathas a plurality of stages at which material is processed to form aproduct, said system comprising: a storage that includes records createdfor every food product at every stage of processing, said recordsinclude first stage information for identifying the first stage at whichthe food product is processed, first time information that specifies atime period of processing at said first stage, second stage informationfor identifying the second stage at which the food product processed atsaid first stage is received as material and second time informationthat specifies the time period of processing at said second stage; and aprocessor that operates according to programs having a first process anda second process, said first process specifying a target record whosefirst stage information and first time information are coincident withthe stage and the time at which said original product is processed, saidsecond process specifying a new target record whose first stageinformation and first time information are coincident with the secondstage information and the second time information of a previous targetrecord, wherein said second process is repeated until a new targetrecord cannot be specified.
 2. The food product tracing system accordingto claim 1, wherein a definition of said original product includes adomestic animal and the definition of said processing includes abreeding of the domestic animal.
 3. The food product tracing systemaccording to claim 1, wherein each of said first time information andsaid second time information comprise a start time and an end time ofthe time period.
 4. The food product tracing system according to claim1, wherein said processor executes said second process for each targetrecord when a plurality of target records are specified by the previoussecond process.
 5. The food product tracing system according to claim 1,wherein said processor outputs contents of a latest target record whensaid second process cannot specify a new target record.
 6. The foodproduct tracing system according to claim 5, wherein said second processcannot specify a new target record when the previous target record doesnot include said second time information.
 7. The food product tracingsystem according to claim 5, wherein said processor executes said firstand second processes based on information transmitted from a terminalthrough a network and sends the contents of the latest target record tosaid terminal through said network.
 8. The food product tracing systemaccording to claim 7, wherein said processor starts said first processfor every terminal that transmits a start command.
 9. The food producttracing system according to claim 7, wherein said processor makes theterminal display a message to indicate that the food product representedby said latest target record exists at the stage represented by saidfirst stage information of said latest target record.
 10. The foodproduct tracing system according to claim 7, wherein said processormakes the terminal display a message to indicate that the food productrepresented by the latest target record is taken out from thedistribution channel at the stage represented by the second stageinformation of the latest target record.
 11. A food product tracingprogram that traces food products coming from an original product anddistributed along a distribution channel that has a plurality of stagesat which material is processed to form a product, said program runningon a computer that can access a storage that includes records createdfor every food product at every stage, said records including firststage information for identifying the first stage at which the foodproduct is processed, first time information that specifies a timeperiod of processing at said first stage, second stage information foridentifying the second stage at which the food product processed at saidfirst stage is received as material and second time information thatspecifies a time period of processing at said second stage, said programcomprising: a first process that specifies a target record whose firststage information and first time information are coincident with thestage and the time at which said original product is processed, and asecond process that specifies a new target record whose first stageinformation and first time information are coincident with the secondstage information and the second time information of the previous targetrecord, wherein said second process is repeated until a new targetrecord cannot be specified.
 12. A food product tracing method thattraces food products coming from an original product and distributedalong a distribution channel that has a plurality of stages at whichmaterial is processed to form a product, said method comprising: storingrecords created for every food product at every stage, said recordsinclude first stage information for identifying the first stage at whichthe food product is processed, first time information for specifying atime period of processing at said first stage, second stage informationfor identifying the second stage at which the food product processed atsaid first stage is received as material and second time information forspecifying the time period of processing at said second stage; executinga first process, said first process specifying a target record whosefirst stage information and first time information are coincident withthe stage and the time at which said original product is processed; andexecuting a second process, said second process specifying a new targetrecord whose first stage information and first time information arecoincident with the second stage information and the second timeinformation of the previous target record, wherein said second processis repeated until a new target record cannot be specified.